package com.xiyu.service.vo.devops.server.baseVO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import jakarta.validation.constraints.*;
import org.hibernate.validator.constraints.*;

import static com.xiyu.service.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * 服务器 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 */
@Data
public class DevopsServerBase {

    @Schema(description = "服务器ip")
    @Size(max = 50, message = "服务器ip长度不能超过50")
    private String ip;

    @Schema(description = "服务器密码")
    @Size(max = 50, message = "服务器密码长度不能超过50")
    private String serverPassword;

    @Schema(description = "数据库密码")
    @Size(max = 50, message = "数据库密码长度不能超过50")
    private String databasePassword;

    @Schema(description = "后端服务端口")
    @Range(max = 100000000, message = "后端服务端口最大不能超过100000000")
    private Integer port;

    @Schema(description = "服务器唯一码")
    @Size(max = 50, message = "服务器唯一码长度不能超过50")
    private String uniqueCode;

    @Schema(description = "域名")
    @Size(max = 255, message = "域名长度不能超过255")
    private String domainName;

    @Schema(description = "前端服务端口")
    @Range(max = 100000000, message = "前端服务端口最大不能超过100000000")
    private Integer frontPort;

    @Schema(description = "服务器名称")
    @Size(max = 50, message = "服务器名称长度不能超过50")
    private String name;

    @Schema(description = "内网ip")
    @Size(max = 50, message = "内网ip长度不能超过50")
    private String internalIp;

}
